//
// Created by win10 on 24-12-13.
//

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

// 比较函数，用于 qsort
int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int n, k;
    while (scanf("%d %d", &n, &k) != EOF) {
        int a[n];
        for (int i = 0; i < n; i++) {
            scanf("%d", &a[i]);
        }

        // 对数组进行排序
        qsort(a, n, sizeof(int), compare);

        // 找到中位数的位置
        int median_index = n / 2;
        int median = a[median_index];

        // 增加中位数及其右侧的元素
        while (k > 0) {
            // 找到当前中位数及其左右相邻的元素
            int left = median_index - 1 >= 0 ? a[median_index - 1] : INT_MIN;
            int right = median_index + 1 < n ? a[median_index + 1] : INT_MAX;

            // 优先增加中位数
            if (left < median && median < right) {
                a[median_index]++;
                k--;
            } else if (median < right) {
                a[median_index + 1]++;
                k--;
            } else {
                break; // 如果无法再增加，退出循环
            }

            // 重新排序数组
            qsort(a, n, sizeof(int), compare);
        }

        // 输出最终的中位数
        printf("%d\n", a[n / 2]);
    }

    return 0;
}
